#include "led.h"
#include "FreeRTOS.h"
#include "cmsis_os.h"
#include "gpio.h"
#include "passive_buzzer.h"
// 定义一个全局变量来记录灯的状态，初始状态为关闭
bool ledStatus = true;

int Led_Init(void)
{
    GPIO_InitTypeDef GPIO_InitStruct = {0};
    __HAL_RCC_GPIOC_CLK_ENABLE();
    HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
    GPIO_InitStruct.Pin = GPIO_PIN_13;
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
    GPIO_InitStruct.Pull = GPIO_NOPULL;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
    HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
    return 0;
}

int Led_Control(int on)
{
    if (on)
    {
        HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
        ledStatus = true;
    }
    else
    {
        HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);
        ledStatus = false;
    }
    return 0;
}

bool turn_on_light()
{
    Led_Control(1);
    ledStatus = true;
    // 发出警告
    warning_tone();
    return true;
}

bool turn_off_light()
{
    Led_Control(0);
    ledStatus = false;
    // 发出警告
    warning_tone();
    return true;
}

